home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Utilities / Programming / EnterAct 3.5 / EnterAct in brief < prev    next >
Text File  |  1995-12-12  |  18KB  |  395 lines

  1. *********EnterAct in brief (THIS IS NOT THE MANUAL) *************
  2.  
  3. EnterAct is a full C/C++ project-oriented editor, with
  4. additional code definition display capabilities. And then some.
  5.  
  6.  Most of EnterAct's best features work with first-draft,
  7.  uncompilabe code. As long as the delimiters balance and
  8.  the key words are not too badly misspelled, EnterAct will
  9.  provide instant definition and prototype display, a class
  10.  browser, jumping to definitions, cross-referencing etc.
  11.  
  12.  EnterAct typically needs 4-8 Meg for medium to large projects.
  13.  Sorry, this is the price of power.
  14.  
  15.  
  16. Necessary things
  17. ---------------
  18.  
  19.     Installation
  20. Put EnterAct 3 and the "Drag_on Modules" folder next to the
  21. folder that holds the mac toolbox headers you wish to use the most.
  22. Symantec: next to the THINK Project Manager
  23. metrowerks: next to the compiler you're using
  24. MPW: next to the "Interfaces" folder.
  25. To access either THINK Ref or QuickView, put a "(Tools)" or "Tools"
  26. folder next to EnterAct and drop an alias of THINK Ref or QuickView
  27. (or both) into it. Commands to access these appear at the bottom
  28. of the Search menu.
  29. To access the AppleScripts supplied with EnterAct, put the
  30. "(EnterAct Scripts)" folder next to EnterAct.
  31.  
  32.  
  33.     Making a new project
  34. Select "New Project" (this same dialog appears when you start up
  35. EnterAct and cancel the "Open Project"dialog).
  36. Give your project a name, and save it.
  37. In the subsequent "Select <system> Folder..." dialog that appears,
  38. select the folder that holds your system <header> files. If you
  39. have placed EnterAct within a folder that also holds these files,
  40. you can just Cancel.
  41. Add files with the "Add Files..." or "Add All in Folder..." commands -
  42. hold down the <Shift> key and the latter becomes "Add All in
  43. Subfolders...". With the "Add All" commands, use the button at the
  44. bottom of the dialog to add whole folders at once (including all
  45. files in subfolders if the <Shift> key was down).
  46. To add all toolbox headers, pick "Add Mac Headers".
  47. Add as many or as few files as you want, regardless of whether
  48. they make up a complete project. Neglect not non-source files
  49. (spec, design etc) which end up in the rightmost project window
  50. pane. Source files are in the left pane, headers in the middle. To
  51. force files with nonstandard extensions into particular panes, use
  52. "File Extensions....".
  53.  
  54. Note that things work best if you include definitions for all the
  55. names in your source code, especially toolbox terms but also
  56. PowerPlant or TCL, and ANSI headers.
  57.  
  58. NOTE if a folder's name is in parentheses, the files in it will not
  59. be added to your project. To exclude a folder such as "Old Source",
  60. change its name to "(Old Source)".
  61.  
  62. If you add more than one file with the same name, truncated full
  63. path names will appear to the right of the file name, to help you
  64. tell which file is which. (See "Building a project dictionary" just
  65. below to exclude files from being built into your dictionary).
  66.  
  67. The project window responds to many keys in standard ways.
  68. Go left and right across the three panes with the left and right
  69. arrow keys, <Command><down arrow> to go to the bottom of a
  70. pane etc. To type your way to a particular file, you can type
  71. the first part of the name or any distinctive part of the name
  72. (useful if you have a lot of files whose names all begin with the
  73. same prefix, eg to advance to "PROJECT7_Mouse.c" you could
  74. probably type just "mou").
  75.  
  76. You can open a file from your project window by double-clicking
  77. on it, or hitting <Return>, or use "Go to..." with the name selected.
  78. In all cases, the project window itself will go all the way to the back.
  79.  
  80. Please add this file to your project for handy reference (use "Add
  81. Front File"), and add the "EnterAct 3 Manual" as well - eventually,
  82. you'll want to browse through it.
  83.  
  84.     Building a project dictionary
  85. To exlude a file from being built into your dictionary, hold down
  86. the <Command> key and click on its name in the project window.
  87. A dash '-' will appear to the left of its name, meaning your
  88. dictionary will be "minus" that file.
  89.  
  90. Select "Update Dictionary". If you run into a problem, see
  91. «EnterAct 3 Manual» 110.
  92. (click in the line above and select "Go to..." from the Search menu -
  93. if you've added the manual to your project, this will open the
  94. manual and take you to line 108.)
  95.  
  96. Now and then (typically when lookup doesn't give expected
  97. results) issue an "Update Dictionary" to keep your
  98. dictionary current. Your dictionary tracks everything defined
  99. outside of function bodies, so if you add a member to a class
  100. or define a new method, your dictionary will be "out of date".
  101. On an 040 machine running at 25 Mhz an incremental update
  102. takes about 6 secs, a nice little "mini-break".
  103.  
  104.  
  105.     Looking up definitions
  106. The AutoLook window is EnterAct's reason for being, so please
  107. try it out!
  108.  
  109. For any sort of lookup to work, you must have a project with
  110. built dictionary open.
  111.  
  112. Select "AutoLook": when you double-click on or click after a C/C++
  113. name in any window, the AutoLook window will display its
  114. definition. This includes all names for structs, unions, enums,
  115. enum constants, functions, methods, classes, file or global scope
  116. variables, defines, and data members, basically everything that
  117. is defined outside of a function body.
  118.  
  119. The AutoLook window can also display definitions of local
  120. variables. For this to work, the file in question must be a
  121. source file (ie its name must end in .c or cp etc) and if
  122. you've just created a function you should save the file.
  123. Clicking after a local variable name will then produce a
  124. definition in the AutoLook window.
  125.  
  126. AutoLook is less accurate in non-source windows, but it still
  127. works.
  128.  
  129. As of v3.5, AutoLook provides fast extremely accurate lookup for
  130. data member and method names, even in complicated "reference
  131. chains" such as "mObject->SomeMethod().aMember[i].whatsIt"
  132. --just click after any name and the AutoLook window will show
  133. you what it is, or make very good guesses in the rare cases when
  134. the method's context doesn't provide enough scope resolution,
  135. or your spelling is wrong.
  136.  
  137. For a more permanent separate display of the definition, press the
  138. <Enter> key. A separate lookup window will appear. Hold down the
  139. <Option> key and drag in the lookup window's title bar to select the
  140. exact definition you want from a popup menu. Note that local
  141. variables are at present excluded, you'll have to Copy and Paste
  142. from the AutoLook window if you want a separate view of them.
  143. (Tip: for local variables, click after the type name for the variable
  144. in the AutoLook window, and press <Enter> to pop up a separate
  145. window showing the definition.)
  146.  
  147. To look up the struct or class containing a particular member,
  148. again double-click on or click to the right of the name, and press
  149. <Shift><Enter>. A lookup window will appear, holding struct or
  150. class definitions that contain the member. There will often be
  151. several, so use the lookup window's popup menu as described just
  152. above to pick the one you want. The AutoLook window
  153. will usually display the definition you want as soon as you click
  154. to the right of the name, so this isn't much needed.
  155.  
  156. To use EnterAct as a lookup aid while working mainly with
  157. some other editor: have a relevant EnterAct project open,
  158. dictionary built, AutoLook open and frontmost; in the other
  159. editor, Copy the term you want looked up, and switch to
  160. EnterAct. If the definition does not immediately appear in
  161. the AutoLook window, press <Commmand><Enter>. If it was
  162. a member name and you want the full definitions of the containing
  163. structs or classes, press <Shift><Command><Enter>.
  164.  
  165. All lookup windows including AutoLook are fully editable but
  166. cannot be saved.
  167.  
  168.     Browsing
  169. Select "Browse" from the EnterAct menu. Browse as in THINK C.
  170. Click and <Shift>click on and off of class names to show/hide
  171. multiple inheritance lines. (As mentioned, class browsing works
  172. with first-draft code.)
  173.  
  174. To view a particular class, type the first part or some distinctive
  175. part of its name.
  176.  
  177. If a class "uses" or "has" member classes, these will be listed
  178. below the main class name, separated from it by a white line.
  179. You can also double-click on these names to jump to their
  180. definitions, or click-and-hold to select one of their method
  181. names from a popup.
  182.  
  183. The multiple inheritance lines often aren't enough, so if you
  184. <Option> click on a class name you'll see a popup
  185. listing all of the classes from which it is derived. If you let
  186. go the mouse while over one of these base class names you'll
  187. jump to its definition.
  188.  
  189. If you <Command> click on a class name the resulting popup
  190. will show not only all methods in the class but all methods it
  191. inherits. Note if it's an ENORMOUS list of methods, it make take
  192. 5 seconds for the popup to show-please be patient the first
  193. few times you try this.
  194.  
  195. In all method popups, virtual methods are marked with a "v" so
  196. you can tell at a glance if a method wants or needs or has an
  197. override.
  198.  
  199. Summary of class popups:
  200. • just click: all methods defined by the class
  201. • <Command> click: all inherited methods too
  202. • <Option> click: the immediate parents of a class.
  203.  
  204.     Finding Definitions
  205. Single words: <Option>double-click.
  206.  
  207. Full method names (eg "TCircle::Draw") : select the full name
  208. and use "Find Definition". Or, <Option>double-click on one word,
  209. drag to the other, and release.
  210.  
  211. Just the method name (eg "Draw") :  normally the AutoLook
  212. window will show just the one you want, but even if it
  213. show several you can jump to it by <Option>double-clicking
  214. on the full method name in the AutoLook window.
  215.  
  216. If the AutoLook window doesn't show the one you want,
  217. press <Enter>; a lookup window appears holding full
  218. prototypes for all methods with that name; use the lookup
  219. window's popup menu to pick the one you want; then jump
  220. to it as described above for full method names.
  221.  
  222. More than one definition for a term: 
  223. press <Enter> to look the name up; use the popup menu in the
  224. lookup window to pick the definition you want (<Option> click
  225. in the window's title bar); and then use <Option>double-click on
  226. the name, or "Find Definition" without changing the default
  227. selection. The popup menu includes truncated full path names
  228. for the defining files, so you can tell which definition is which.
  229.  
  230. Static functions and variables: if you're in the file where it is
  231. defined, just <Option>double-click on the name. If you have
  232. several definitions of such a name and you aren't in the file where
  233. it is defined, use the approach for more than one definition described
  234. just above.
  235.  
  236.     Multi-file search
  237. The Find dialog contains buttons to select all files of a particular
  238. type in the project window. Files selected for multi-file
  239. operations (including searching) have bullets (•) to their left in
  240. the project window. To "fine tune" your multi-file selection, hold
  241. down the <Option> key and click or drag right in the project
  242. window.
  243.  
  244. The "Batch" check box generates a list of all lines where the search
  245. string can be found in your multi-file selection. To jump to the
  246. file and line indicated for one of the finds, click on the line and
  247. use "Go to...".
  248.  
  249. Multi-file selections have other uses, such as "Remove •'d files",
  250. input for several "Index" commands, and input for hAWK programs
  251. (see the «hAWK User’s Manual» for the last).
  252.  
  253. In the Find dialog, the "Skip '-'" checkbox allows you to exclude
  254. files marked with a dash '-' in the project window when doing
  255. a multi-file operation such as searching.  Please note this
  256. checkbox affects all other buttons in the Find dialog, and all
  257. operations done with the file list. Specifically, the All and
  258. None buttons don't touch files marked with a dash '-' if the
  259. "Skip '-'" checkbox is checked, and such files aren't passed to
  260. a hAWK program, or looked at when you click "Find In Next File".
  261.  
  262. The "Dual Batch Find" button in the Find dialog calls up a separate
  263. (modal alas) dialog that lets you search for two search strings
  264. that occur within a certain number of lines or characters of each
  265. other. Clicking OK fires off a search of your bulleted files, with
  266. results of the search presented in a text window. "Zero" lines
  267. means on the same line, and a separation of zero characters means
  268. the two strings must occur together with no characters between
  269. (as in "Cmd" and "Handle" matching "CmdHandle" or "HandleCmd").
  270.  
  271.     Accessing THINK Reference
  272. Beside EnterAct at the same level, have a folder entitled "Tools"
  273. or "(Tools)"; drop an alias of THINK Reference in this folder.
  274.  
  275. To look up THINK Ref's thoughts on a term, select it or click
  276. to the right of it and issue "Find in THINK Reference".
  277.  
  278.     Accessing Toolbox Assistant
  279. As for THINK Ref, but drop an alias of "QuickView" in your
  280. Tools folder. The "Find in Toolbox Assistant" command is
  281. at the bottom of the Search menu.
  282.  
  283.     Editing and Undo
  284. All basic editing commands are undoable, with a single level
  285. of undo.
  286.  
  287. As you work, EnterAct logs all of your activities (including
  288. contents of edits) to the "EnterAct Recent Activities" file. In a
  289. pinch, you can recover the contents of a delete or remind yourself
  290. of what you just did by selecting "Show Activities..." from
  291. the Edit menu.
  292.  
  293. Well, not all of your activities, only the last ten thousand.
  294.  
  295. See «EnterAct 3 Manual» 4506 for a new and nicer way to cut
  296. and paste blocks of code.
  297.  
  298.     Working with Code Warrior
  299. By default, when you open a document and Code Warrior also
  300. has the document open, EnterAct will force Code Warrior to
  301. close and save the file before opening it, asking you first of
  302. course before doing so. To turn this off,
  303. deselect the "Safe switching under MultiFinder" option
  304. in the Options... dialog (under the Edit menu). Having this
  305. option on also means that EnterAct will save all your
  306. documents when you switch out, and refresh them from
  307. disk when you switch back if they have been changed by
  308. some other application.
  309.  
  310. PLEASE NOTE with CW7 you must turn off the "Use Modification
  311. Date Caching" option under the Extras Prefs in order to avoid
  312. spurious recompiles of changed source files. We're working on it....
  313.  
  314.     The Locations Menu
  315. Select "Add Current Location" to add a sort of "super marker" to
  316. the Locations menu for your current location. This is project
  317. independent, though note the position will not be maintained
  318. if you edit the corresponding source file with another editor.
  319. The text you have selected when you use the Add Current Locations
  320. command will be entered as the default name of the position in
  321. the dialog that subsequently appears: you can edit this name, or
  322. use no name at all and EnterAct will make up a name for you.
  323.  
  324. To remove a location from this menu:
  325. • go to the location (typically by picking it from the Locations menu)
  326. • select Delete Current Location from the Locations menu.
  327.  
  328. If the location does not exist any more, when you pick it from
  329. the Locations menu you will be told it can't be found, and asked if
  330. you want to delete it from the menu.
  331.  
  332. You can have up to 10 different locations under this menu.
  333.  
  334. Other useful things
  335. -----------------
  336. You can Balance a delimiter by double-clicking on it.
  337.  
  338. EnterAct comes equipped with hAWK, a version of AWK. It really
  339. is "three clicks and Run", with many supplied programs. See the
  340. «hAWK User’s Manual» for details.
  341.  
  342. EnterAct's <Enter>-driven lookup tolerates many kinds of spelling
  343. and (more importantly) memory errors. When in doubt, give it your
  344. best guess and press <Enter>. For extreme cases, use the "Options"
  345. dialog to increase the "Number of entries per lookup window" to 20.
  346. For emergency use only, use <Option><Enter> instead of plain <Enter>
  347. to fire up EnterAct's most error tolerant definition retriever - be
  348. prepared for some wild guesses mixed in there with the good ones!
  349.  
  350. To look up the last word on the clipboard, typically copied while in
  351. another application, press <Command><Enter>. Note if you have
  352. the AutoLook window open it will automatically show a definition
  353. for a word on the clipboard as you switch back to EnterAct.
  354.  
  355. "Go to..." is very nearly as general as it can be. It accepts line
  356. numbers, file names, marker names, and combinations such as
  357. file name/marker name, file name/line number. Handy for placing
  358. references in code files to supporting documentation. Moderately
  359. error tolerant, full correct spelling not required. To see it work,
  360. add the "EnterAct 3 Manual" to your project if you haven't done so,
  361. then click anywhere on the following line and "Go to":
  362. «EnterAct 3 Man» «17   “Go” cmds»
  363.  
  364. The European-style quotes «» are helpful in most "Go to" link names;
  365. to generate these painlessly, see
  366. «EnterAct 3 Man»  5979 (any individual mark)
  367. and
  368. «EnterAct 3 Man» 7517(marks in documentation files especially)
  369.  
  370. To open an included file, click on the line in your source where it's
  371. included and use "Go to".
  372.  
  373. EnterAct projects accept PICT files.
  374.  
  375. Printing doesn't clip off long lines, it wraps them around.
  376.  
  377. EnterAct can be used as the THINK Project Managers's editor,
  378. as explained in either the THINK or EnterAct manuals.
  379.  
  380. When EnterAct can't locate a project file, and you have enabled
  381. the "Relocate files automatically" option,  it starts searching
  382. at the top of the disk where the file was last seen and
  383. searches down until it finds it (or not). Renaming or moving
  384. a folder does not affect EnterAct's memory of where a file is.
  385.  
  386. If you have favorite AppleScripts to compile projects etc, drop
  387. them in the (EnterAct Scripts) folder for easy access.
  388. The scripts must be compiled scripts, not just text-only.
  389.  
  390. That's more than enough to get going. If you become inordinately
  391. fond of EnterAct's definition lookup capabilities, be sure to read
  392. through the full manual for details on the above features and a
  393. host of others.
  394.  
  395.